iso_varying_string.f90
Copyright (C) 2003 Rich Townsend townsend@astro.wisc.edu
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later
version.
This program is distributed in the hope that it will be
useful, but WITHOUT ANY WARRANTY; without even the implied
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the GNU Lesser General Public License for more
details.
You should have received a copy of the GNU Lesser General
Public License along with this program; if not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330,
Boston, MA 02111-1307 USA
Developer : Rich Townsend townsend@astro.wisc.edu
Synopsis : Definition of iso_varying_string module, conformant to the API specified in ISO/IEC 1539-2:2000 (varying-length strings for Fortran 95).
Notes : This implementation of iso_varying_string is designed to avoid the possibility of memory leaks. To achieve this, it takes advantage of language extensions specified in ISO/IEC TR 15581 (enhanced data type facilities). Many vendors support these extensions, and they will form a core part of Fortran 2000.
Version : 1.2
Thanks : Lawrie Schonfelder's iso_varying_string module provided me with much insight on how to go about writing this module, for which I am very grateful. Furthermore, Lawrie helped point out some subtle bugs in the module.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | public, | parameter | :: | GET_BUFFER_LEN | = | 256 |
Adjust the varying string to the left
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string |
Adjust the varying string to the right
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string |
Assign a varying string to a character string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(out) | :: | var | |||
type(varying_string), | intent(in) | :: | exp |
Assign a character string to a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(out) | :: | var | |||
character(len=*), | intent(in) | :: | exp |
Convert a varying string into a character string (automatic length)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string |
Convert a varying string into a character string (fixed length)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string | |||
integer, | intent(in) | :: | length |
Extract a varying substring from a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string | |||
integer, | intent(in), | optional | :: | start | ||
integer, | intent(in), | optional | :: | finish |
Extract a varying substring from a character string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string | |||
integer, | intent(in), | optional | :: | start | ||
integer, | intent(in), | optional | :: | finish |
Read from the default unit into a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(out) | :: | string | |||
integer, | intent(in), | optional | :: | maxlen | ||
integer, | intent(out), | optional | :: | iostat |
Read from the specified unit into a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | unit | |||
type(varying_string), | intent(out) | :: | string | |||
integer, | intent(in), | optional | :: | maxlen | ||
integer, | intent(out), | optional | :: | iostat |
Read from the default unit into a varying string, with a custom varying-string separator
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(out) | :: | string | |||
type(varying_string), | intent(in) | :: | set | |||
type(varying_string), | intent(out), | optional | :: | separator | ||
integer, | intent(in), | optional | :: | maxlen | ||
integer, | intent(out), | optional | :: | iostat |
Read from the default unit into a varying string, with a custom character-string separator
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(out) | :: | string | |||
character(len=*), | intent(in) | :: | set | |||
type(varying_string), | intent(out), | optional | :: | separator | ||
integer, | intent(in), | optional | :: | maxlen | ||
integer, | intent(out), | optional | :: | iostat |
Read from the specified unit into a varying string, with a custom varying-string separator
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | unit | |||
type(varying_string), | intent(out) | :: | string | |||
type(varying_string), | intent(in) | :: | set | |||
type(varying_string), | intent(out), | optional | :: | separator | ||
integer, | intent(in), | optional | :: | maxlen | ||
integer, | intent(out), | optional | :: | iostat |
Read from the default unit into a varying string, with a custom character-string separator
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | unit | |||
type(varying_string), | intent(out) | :: | string | |||
character(len=*), | intent(in) | :: | set | |||
type(varying_string), | intent(out), | optional | :: | separator | ||
integer, | intent(in), | optional | :: | maxlen | ||
integer, | intent(out), | optional | :: | iostat |
Get the position in the ISO 646 collating sequence of a varying string character
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | c |
Get the position in the processor collating sequence of a varying string character
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | c |
Get the index of a varying substring within a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string | |||
type(varying_string), | intent(in) | :: | substring | |||
logical, | intent(in), | optional | :: | back |
Get the index of a varying substring within a character string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string | |||
type(varying_string), | intent(in) | :: | substring | |||
logical, | intent(in), | optional | :: | back |
Get the index of a character substring within a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string | |||
character(len=*), | intent(in) | :: | substring | |||
logical, | intent(in), | optional | :: | back |
Insert a varying substring into a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string | |||
integer, | intent(in) | :: | start | |||
type(varying_string), | intent(in) | :: | substring |
Insert a varying substring into a character string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string | |||
integer, | intent(in) | :: | start | |||
type(varying_string), | intent(in) | :: | substring |
Insert a character substring into a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string | |||
integer, | intent(in) | :: | start | |||
character(len=*), | intent(in) | :: | substring |
Insert a character substring into a character string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string | |||
integer, | intent(in) | :: | start | |||
character(len=*), | intent(in) | :: | substring |
Get the length of a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string |
Get the trimmed length of a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string |
Compare (LGE) two varying strings
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string_a | |||
type(varying_string), | intent(in) | :: | string_b |
Compare (LGE) a character string and a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string_a | |||
type(varying_string), | intent(in) | :: | string_b |
Compare (LGE) a varying string and a character string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string_a | |||
character(len=*), | intent(in) | :: | string_b |
Compare (LGT) two varying strings
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string_a | |||
type(varying_string), | intent(in) | :: | string_b |
Compare (LGT) a character string and a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string_a | |||
type(varying_string), | intent(in) | :: | string_b |
Compare (LGT) a varying string and a character string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string_a | |||
character(len=*), | intent(in) | :: | string_b |
Compare (LLE) two varying strings
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string_a | |||
type(varying_string), | intent(in) | :: | string_b |
Compare (LLE) a character string and a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string_a | |||
type(varying_string), | intent(in) | :: | string_b |
Compare (LLE) a varying string and a character string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string_a | |||
character(len=*), | intent(in) | :: | string_b |
Compare (LLT) two varying strings
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string_a | |||
type(varying_string), | intent(in) | :: | string_b |
Compare (LLT) a character string and a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string_a | |||
type(varying_string), | intent(in) | :: | string_b |
Compare (LLT) a varying string and a character string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string_a | |||
character(len=*), | intent(in) | :: | string_b |
Concatenate two varying strings
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string_a | |||
type(varying_string), | intent(in) | :: | string_b |
Concatenate a character string and a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string_a | |||
type(varying_string), | intent(in) | :: | string_b |
Concatenate a varying string and a character string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string_a | |||
character(len=*), | intent(in) | :: | string_b |
Compare (/=) two varying strings
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string_a | |||
type(varying_string), | intent(in) | :: | string_b |
Compare (/=) a character string and a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string_a | |||
type(varying_string), | intent(in) | :: | string_b |
Compare (/=) a varying string and a character string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string_a | |||
character(len=*), | intent(in) | :: | string_b |
Compare (<) two varying strings
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string_a | |||
type(varying_string), | intent(in) | :: | string_b |
Compare (<) a character string and a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string_a | |||
type(varying_string), | intent(in) | :: | string_b |
Compare (<) a varying string and a character string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string_a | |||
character(len=*), | intent(in) | :: | string_b |
Compare (<=) two varying strings
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string_a | |||
type(varying_string), | intent(in) | :: | string_b |
Compare (<=) a character string and a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string_a | |||
type(varying_string), | intent(in) | :: | string_b |
Compare (<=) a varying string and a character string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string_a | |||
character(len=*), | intent(in) | :: | string_b |
Compare (==) two varying strings
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string_a | |||
type(varying_string), | intent(in) | :: | string_b |
Compare (==) a character string and a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string_a | |||
type(varying_string), | intent(in) | :: | string_b |
Compare (==) a varying string and a character string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string_a | |||
character(len=*), | intent(in) | :: | string_b |
Compare (>) two varying strings
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string_a | |||
type(varying_string), | intent(in) | :: | string_b |
Compare (>) a character string and a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string_a | |||
type(varying_string), | intent(in) | :: | string_b |
Compare (>) a varying string and a character string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string_a | |||
character(len=*), | intent(in) | :: | string_b |
Compare (>=) two varying strings
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string_a | |||
type(varying_string), | intent(in) | :: | string_b |
Compare (>=) a character string and a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string_a | |||
type(varying_string), | intent(in) | :: | string_b |
Compare (>=) a varying string and a character string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string_a | |||
character(len=*), | intent(in) | :: | string_b |
Append a varying string to the current record of the default unit
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string | |||
integer, | intent(out), | optional | :: | iostat |
Append a character string to the current record of the default unit
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string | |||
integer, | intent(out), | optional | :: | iostat |
Append a varying string to the current record of the specified unit
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | unit | |||
type(varying_string), | intent(in) | :: | string | |||
integer, | intent(out), | optional | :: | iostat |
Append a character string to the current record of the specified unit
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | unit | |||
character(len=*), | intent(in) | :: | string | |||
integer, | intent(out), | optional | :: | iostat |
Append a varying string to the current record of the default unit, terminating the record
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string | |||
integer, | intent(out), | optional | :: | iostat |
Append a varying string to the current record of the default unit, terminating the record
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string | |||
integer, | intent(out), | optional | :: | iostat |
Append a varying string to the current record of the specified unit, terminating the record
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | unit | |||
type(varying_string), | intent(in) | :: | string | |||
integer, | intent(out), | optional | :: | iostat |
Append a varying string to the current record of the specified unit, terminating the record
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | unit | |||
character(len=*), | intent(in) | :: | string | |||
integer, | intent(out), | optional | :: | iostat |
Remove a substring from a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string | |||
integer, | intent(in), | optional | :: | start | ||
integer, | intent(in), | optional | :: | finish |
Remove a substring from a character string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string | |||
integer, | intent(in), | optional | :: | start | ||
integer, | intent(in), | optional | :: | finish |
Concatenate several copies of a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string | |||
integer, | intent(in) | :: | ncopies |
Replace part of a varying string with a varying substring
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string | |||
integer, | intent(in) | :: | start | |||
type(varying_string), | intent(in) | :: | substring |
Replace part of a character string with a varying substring
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string | |||
integer, | intent(in) | :: | start | |||
type(varying_string), | intent(in) | :: | substring |
Replace part of a varying string with a character substring
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string | |||
integer, | intent(in) | :: | start | |||
character(len=*), | intent(in) | :: | substring |
Replace part of a character string with a character substring
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string | |||
integer, | intent(in) | :: | start | |||
character(len=*), | intent(in) | :: | substring |
Replace part of a varying string with a varying substring
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string | |||
integer, | intent(in) | :: | start | |||
integer, | intent(in) | :: | finish | |||
type(varying_string), | intent(in) | :: | substring |
Replace part of a character string with a varying substring
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string | |||
integer, | intent(in) | :: | start | |||
integer, | intent(in) | :: | finish | |||
type(varying_string), | intent(in) | :: | substring |
Replace part of a varying string with a character substring
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string | |||
integer, | intent(in) | :: | start | |||
integer, | intent(in) | :: | finish | |||
character(len=*), | intent(in) | :: | substring |
Replace part of a character string with a character substring
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string | |||
integer, | intent(in) | :: | start | |||
integer, | intent(in) | :: | finish | |||
character(len=*), | intent(in) | :: | substring |
Replace part of a varying string with a varying substring, at a location matching a varying- string target
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string | |||
type(varying_string), | intent(in) | :: | target | |||
type(varying_string), | intent(in) | :: | substring | |||
logical, | intent(in), | optional | :: | every | ||
logical, | intent(in), | optional | :: | back |
Replace part of a character string with a varying substring, at a location matching a varying- string target
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string | |||
type(varying_string), | intent(in) | :: | target | |||
type(varying_string), | intent(in) | :: | substring | |||
logical, | intent(in), | optional | :: | every | ||
logical, | intent(in), | optional | :: | back |
Replace part of a character string with a varying substring, at a location matching a character- string target
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string | |||
character(len=*), | intent(in) | :: | target | |||
type(varying_string), | intent(in) | :: | substring | |||
logical, | intent(in), | optional | :: | every | ||
logical, | intent(in), | optional | :: | back |
Replace part of a character string with a varying substring, at a location matching a character- string target
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string | |||
character(len=*), | intent(in) | :: | target | |||
type(varying_string), | intent(in) | :: | substring | |||
logical, | intent(in), | optional | :: | every | ||
logical, | intent(in), | optional | :: | back |
Replace part of a varying string with a character substring, at a location matching a varying- string target
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string | |||
type(varying_string), | intent(in) | :: | target | |||
character(len=*), | intent(in) | :: | substring | |||
logical, | intent(in), | optional | :: | every | ||
logical, | intent(in), | optional | :: | back |
Replace part of a character string with a character substring, at a location matching a varying- string target
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string | |||
type(varying_string), | intent(in) | :: | target | |||
character(len=*), | intent(in) | :: | substring | |||
logical, | intent(in), | optional | :: | every | ||
logical, | intent(in), | optional | :: | back |
Replace part of a varying string with a character substring, at a location matching a character- string target
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string | |||
character(len=*), | intent(in) | :: | target | |||
character(len=*), | intent(in) | :: | substring | |||
logical, | intent(in), | optional | :: | every | ||
logical, | intent(in), | optional | :: | back |
Handle special cases when LEN(target) == 0. Such instances are prohibited by the standard, but since this function is elemental, no error can be thrown. Therefore, it makes sense to handle them in a sensible manner
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string | |||
character(len=*), | intent(in) | :: | target | |||
character(len=*), | intent(in) | :: | substring | |||
logical, | intent(in), | optional | :: | every | ||
logical, | intent(in), | optional | :: | back |
Scan a varying string for occurrences of characters in a varying-string set
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string | |||
type(varying_string), | intent(in) | :: | set | |||
logical, | intent(in), | optional | :: | back |
Scan a character string for occurrences of characters in a varying-string set
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string | |||
type(varying_string), | intent(in) | :: | set | |||
logical, | intent(in), | optional | :: | back |
Scan a varying string for occurrences of characters in a character-string set
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string | |||
character(len=*), | intent(in) | :: | set | |||
logical, | intent(in), | optional | :: | back |
Split a varying string into two verying strings
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(inout) | :: | string | |||
type(varying_string), | intent(out) | :: | word | |||
type(varying_string), | intent(in) | :: | set | |||
type(varying_string), | intent(out), | optional | :: | separator | ||
logical, | intent(in), | optional | :: | back |
Split a varying string into two verying strings
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(inout) | :: | string | |||
type(varying_string), | intent(out) | :: | word | |||
character(len=*), | intent(in) | :: | set | |||
type(varying_string), | intent(out), | optional | :: | separator | ||
logical, | intent(in), | optional | :: | back |
Remove trailing blanks from a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string |
Convert a character string to a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | char |
Verify a varying string for occurrences of characters in a varying-string set
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string | |||
type(varying_string), | intent(in) | :: | set | |||
logical, | intent(in), | optional | :: | back |
Verify a character string for occurrences of characters in a varying-string set
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string | |||
type(varying_string), | intent(in) | :: | set | |||
logical, | intent(in), | optional | :: | back |
Verify a varying string for occurrences of characters in a character-string set
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string | |||
character(len=*), | intent(in) | :: | set | |||
logical, | intent(in), | optional | :: | back |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
character(len=1), | private, | dimension(:), allocatable | :: | chars |
Adjust the varying string to the left
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string |
Adjust the varying string to the right
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string |
Convert a varying string into a character string (automatic length)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string |
Convert a varying string into a character string (fixed length)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string | |||
integer, | intent(in) | :: | length |
Extract a varying substring from a character string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string | |||
integer, | intent(in), | optional | :: | start | ||
integer, | intent(in), | optional | :: | finish |
Extract a varying substring from a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string | |||
integer, | intent(in), | optional | :: | start | ||
integer, | intent(in), | optional | :: | finish |
Get the position in the ISO 646 collating sequence of a varying string character
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | c |
Get the position in the processor collating sequence of a varying string character
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | c |
Get the index of a varying substring within a character string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string | |||
type(varying_string), | intent(in) | :: | substring | |||
logical, | intent(in), | optional | :: | back |
Get the index of a character substring within a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string | |||
character(len=*), | intent(in) | :: | substring | |||
logical, | intent(in), | optional | :: | back |
Get the index of a varying substring within a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string | |||
type(varying_string), | intent(in) | :: | substring | |||
logical, | intent(in), | optional | :: | back |
Insert a character substring into a character string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string | |||
integer, | intent(in) | :: | start | |||
character(len=*), | intent(in) | :: | substring |
Insert a varying substring into a character string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string | |||
integer, | intent(in) | :: | start | |||
type(varying_string), | intent(in) | :: | substring |
Insert a character substring into a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string | |||
integer, | intent(in) | :: | start | |||
character(len=*), | intent(in) | :: | substring |
Insert a varying substring into a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string | |||
integer, | intent(in) | :: | start | |||
type(varying_string), | intent(in) | :: | substring |
Get the length of a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string |
Get the trimmed length of a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string |
Compare (LGE) a character string and a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string_a | |||
type(varying_string), | intent(in) | :: | string_b |
Compare (LGE) a varying string and a character string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string_a | |||
character(len=*), | intent(in) | :: | string_b |
Compare (LGE) two varying strings
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string_a | |||
type(varying_string), | intent(in) | :: | string_b |
Compare (LGT) a character string and a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string_a | |||
type(varying_string), | intent(in) | :: | string_b |
Compare (LGT) a varying string and a character string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string_a | |||
character(len=*), | intent(in) | :: | string_b |
Compare (LGT) two varying strings
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string_a | |||
type(varying_string), | intent(in) | :: | string_b |
Compare (LLE) a character string and a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string_a | |||
type(varying_string), | intent(in) | :: | string_b |
Compare (LLE) a varying string and a character string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string_a | |||
character(len=*), | intent(in) | :: | string_b |
Compare (LLE) two varying strings
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string_a | |||
type(varying_string), | intent(in) | :: | string_b |
Compare (LLT) a character string and a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string_a | |||
type(varying_string), | intent(in) | :: | string_b |
Compare (LLT) a varying string and a character string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string_a | |||
character(len=*), | intent(in) | :: | string_b |
Compare (LLT) two varying strings
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string_a | |||
type(varying_string), | intent(in) | :: | string_b |
Concatenate a character string and a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string_a | |||
type(varying_string), | intent(in) | :: | string_b |
Concatenate a varying string and a character string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string_a | |||
character(len=*), | intent(in) | :: | string_b |
Concatenate two varying strings
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string_a | |||
type(varying_string), | intent(in) | :: | string_b |
Compare (==) a character string and a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string_a | |||
type(varying_string), | intent(in) | :: | string_b |
Compare (==) a varying string and a character string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string_a | |||
character(len=*), | intent(in) | :: | string_b |
Compare (==) two varying strings
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string_a | |||
type(varying_string), | intent(in) | :: | string_b |
Compare (>=) a character string and a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string_a | |||
type(varying_string), | intent(in) | :: | string_b |
Compare (>=) a varying string and a character string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string_a | |||
character(len=*), | intent(in) | :: | string_b |
Compare (>=) two varying strings
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string_a | |||
type(varying_string), | intent(in) | :: | string_b |
Compare (>) a character string and a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string_a | |||
type(varying_string), | intent(in) | :: | string_b |
Compare (>) a varying string and a character string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string_a | |||
character(len=*), | intent(in) | :: | string_b |
Compare (>) two varying strings
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string_a | |||
type(varying_string), | intent(in) | :: | string_b |
Compare (<=) a character string and a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string_a | |||
type(varying_string), | intent(in) | :: | string_b |
Compare (<=) a varying string and a character string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string_a | |||
character(len=*), | intent(in) | :: | string_b |
Compare (<=) two varying strings
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string_a | |||
type(varying_string), | intent(in) | :: | string_b |
Compare (<) a character string and a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string_a | |||
type(varying_string), | intent(in) | :: | string_b |
Compare (<) a varying string and a character string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string_a | |||
character(len=*), | intent(in) | :: | string_b |
Compare (<) two varying strings
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string_a | |||
type(varying_string), | intent(in) | :: | string_b |
Compare (/=) a character string and a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string_a | |||
type(varying_string), | intent(in) | :: | string_b |
Compare (/=) a varying string and a character string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string_a | |||
character(len=*), | intent(in) | :: | string_b |
Compare (/=) two varying strings
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string_a | |||
type(varying_string), | intent(in) | :: | string_b |
Remove a substring from a character string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string | |||
integer, | intent(in), | optional | :: | start | ||
integer, | intent(in), | optional | :: | finish |
Remove a substring from a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string | |||
integer, | intent(in), | optional | :: | start | ||
integer, | intent(in), | optional | :: | finish |
Concatenate several copies of a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string | |||
integer, | intent(in) | :: | ncopies |
Handle special cases when LEN(target) == 0. Such instances are prohibited by the standard, but since this function is elemental, no error can be thrown. Therefore, it makes sense to handle them in a sensible manner
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string | |||
character(len=*), | intent(in) | :: | target | |||
character(len=*), | intent(in) | :: | substring | |||
logical, | intent(in), | optional | :: | every | ||
logical, | intent(in), | optional | :: | back |
Replace part of a character string with a varying substring, at a location matching a character- string target
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string | |||
character(len=*), | intent(in) | :: | target | |||
type(varying_string), | intent(in) | :: | substring | |||
logical, | intent(in), | optional | :: | every | ||
logical, | intent(in), | optional | :: | back |
Replace part of a character string with a character substring
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string | |||
integer, | intent(in) | :: | start | |||
character(len=*), | intent(in) | :: | substring |
Replace part of a character string with a character substring
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string | |||
integer, | intent(in) | :: | start | |||
integer, | intent(in) | :: | finish | |||
character(len=*), | intent(in) | :: | substring |
Replace part of a character string with a character substring, at a location matching a varying- string target
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string | |||
type(varying_string), | intent(in) | :: | target | |||
character(len=*), | intent(in) | :: | substring | |||
logical, | intent(in), | optional | :: | every | ||
logical, | intent(in), | optional | :: | back |
Replace part of a character string with a varying substring, at a location matching a varying- string target
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string | |||
type(varying_string), | intent(in) | :: | target | |||
type(varying_string), | intent(in) | :: | substring | |||
logical, | intent(in), | optional | :: | every | ||
logical, | intent(in), | optional | :: | back |
Replace part of a character string with a varying substring
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string | |||
integer, | intent(in) | :: | start | |||
type(varying_string), | intent(in) | :: | substring |
Replace part of a character string with a varying substring
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string | |||
integer, | intent(in) | :: | start | |||
integer, | intent(in) | :: | finish | |||
type(varying_string), | intent(in) | :: | substring |
Replace part of a varying string with a character substring, at a location matching a character- string target
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string | |||
character(len=*), | intent(in) | :: | target | |||
character(len=*), | intent(in) | :: | substring | |||
logical, | intent(in), | optional | :: | every | ||
logical, | intent(in), | optional | :: | back |
Replace part of a character string with a varying substring, at a location matching a character- string target
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string | |||
character(len=*), | intent(in) | :: | target | |||
type(varying_string), | intent(in) | :: | substring | |||
logical, | intent(in), | optional | :: | every | ||
logical, | intent(in), | optional | :: | back |
Replace part of a varying string with a character substring
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string | |||
integer, | intent(in) | :: | start | |||
character(len=*), | intent(in) | :: | substring |
Replace part of a varying string with a character substring
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string | |||
integer, | intent(in) | :: | start | |||
integer, | intent(in) | :: | finish | |||
character(len=*), | intent(in) | :: | substring |
Replace part of a varying string with a character substring, at a location matching a varying- string target
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string | |||
type(varying_string), | intent(in) | :: | target | |||
character(len=*), | intent(in) | :: | substring | |||
logical, | intent(in), | optional | :: | every | ||
logical, | intent(in), | optional | :: | back |
Replace part of a varying string with a varying substring, at a location matching a varying- string target
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string | |||
type(varying_string), | intent(in) | :: | target | |||
type(varying_string), | intent(in) | :: | substring | |||
logical, | intent(in), | optional | :: | every | ||
logical, | intent(in), | optional | :: | back |
Replace part of a varying string with a varying substring
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string | |||
integer, | intent(in) | :: | start | |||
type(varying_string), | intent(in) | :: | substring |
Replace part of a varying string with a varying substring
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string | |||
integer, | intent(in) | :: | start | |||
integer, | intent(in) | :: | finish | |||
type(varying_string), | intent(in) | :: | substring |
Scan a character string for occurrences of characters in a varying-string set
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string | |||
type(varying_string), | intent(in) | :: | set | |||
logical, | intent(in), | optional | :: | back |
Scan a varying string for occurrences of characters in a character-string set
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string | |||
character(len=*), | intent(in) | :: | set | |||
logical, | intent(in), | optional | :: | back |
Scan a varying string for occurrences of characters in a varying-string set
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string | |||
type(varying_string), | intent(in) | :: | set | |||
logical, | intent(in), | optional | :: | back |
Remove trailing blanks from a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string |
Convert a character string to a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | char |
Verify a character string for occurrences of characters in a varying-string set
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string | |||
type(varying_string), | intent(in) | :: | set | |||
logical, | intent(in), | optional | :: | back |
Verify a varying string for occurrences of characters in a character-string set
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string | |||
character(len=*), | intent(in) | :: | set | |||
logical, | intent(in), | optional | :: | back |
Verify a varying string for occurrences of characters in a varying-string set
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string | |||
type(varying_string), | intent(in) | :: | set | |||
logical, | intent(in), | optional | :: | back |
Read from the default unit into a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(out) | :: | string | |||
integer, | intent(in), | optional | :: | maxlen | ||
integer, | intent(out), | optional | :: | iostat |
Read from the default unit into a varying string, with a custom character-string separator
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(out) | :: | string | |||
character(len=*), | intent(in) | :: | set | |||
type(varying_string), | intent(out), | optional | :: | separator | ||
integer, | intent(in), | optional | :: | maxlen | ||
integer, | intent(out), | optional | :: | iostat |
Read from the default unit into a varying string, with a custom varying-string separator
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(out) | :: | string | |||
type(varying_string), | intent(in) | :: | set | |||
type(varying_string), | intent(out), | optional | :: | separator | ||
integer, | intent(in), | optional | :: | maxlen | ||
integer, | intent(out), | optional | :: | iostat |
Read from the specified unit into a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | unit | |||
type(varying_string), | intent(out) | :: | string | |||
integer, | intent(in), | optional | :: | maxlen | ||
integer, | intent(out), | optional | :: | iostat |
Read from the default unit into a varying string, with a custom character-string separator
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | unit | |||
type(varying_string), | intent(out) | :: | string | |||
character(len=*), | intent(in) | :: | set | |||
type(varying_string), | intent(out), | optional | :: | separator | ||
integer, | intent(in), | optional | :: | maxlen | ||
integer, | intent(out), | optional | :: | iostat |
Read from the specified unit into a varying string, with a custom varying-string separator
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | unit | |||
type(varying_string), | intent(out) | :: | string | |||
type(varying_string), | intent(in) | :: | set | |||
type(varying_string), | intent(out), | optional | :: | separator | ||
integer, | intent(in), | optional | :: | maxlen | ||
integer, | intent(out), | optional | :: | iostat |
Assign a varying string to a character string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(out) | :: | var | |||
type(varying_string), | intent(in) | :: | exp |
Assign a character string to a varying string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(out) | :: | var | |||
character(len=*), | intent(in) | :: | exp |
Append a character string to the current record of the default unit
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string | |||
integer, | intent(out), | optional | :: | iostat |
Append a varying string to the current record of the default unit
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string | |||
integer, | intent(out), | optional | :: | iostat |
Append a varying string to the current record of the default unit, terminating the record
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | string | |||
integer, | intent(out), | optional | :: | iostat |
Append a varying string to the current record of the default unit, terminating the record
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(in) | :: | string | |||
integer, | intent(out), | optional | :: | iostat |
Append a varying string to the current record of the specified unit, terminating the record
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | unit | |||
character(len=*), | intent(in) | :: | string | |||
integer, | intent(out), | optional | :: | iostat |
Append a varying string to the current record of the specified unit, terminating the record
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | unit | |||
type(varying_string), | intent(in) | :: | string | |||
integer, | intent(out), | optional | :: | iostat |
Append a character string to the current record of the specified unit
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | unit | |||
character(len=*), | intent(in) | :: | string | |||
integer, | intent(out), | optional | :: | iostat |
Append a varying string to the current record of the specified unit
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | unit | |||
type(varying_string), | intent(in) | :: | string | |||
integer, | intent(out), | optional | :: | iostat |
Split a varying string into two verying strings
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(inout) | :: | string | |||
type(varying_string), | intent(out) | :: | word | |||
character(len=*), | intent(in) | :: | set | |||
type(varying_string), | intent(out), | optional | :: | separator | ||
logical, | intent(in), | optional | :: | back |
Split a varying string into two verying strings
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(varying_string), | intent(inout) | :: | string | |||
type(varying_string), | intent(out) | :: | word | |||
type(varying_string), | intent(in) | :: | set | |||
type(varying_string), | intent(out), | optional | :: | separator | ||
logical, | intent(in), | optional | :: | back |